#ifndef GRAPHICS_H
#define GRAPHICS_H

#include <windows.h>

#include "D3DObj.h"
#include "NonCopyable.h"
#include "Singleton.h"

//GLOBALS 
const bool FULL_SCREEN = false;
const bool VSYNC_ENABLED = true;
const float SCREEN_DEPTH = 1000.0f;
const float SCREEN_NEAR = 0.1f;

class Graphics : public NonCopyable
{
public:
	Graphics(const Graphics&);
	~Graphics();

	bool Initialize(int ScreenWidth, int ScreenHeight, HWND);
	void Shutdown();
	bool Frame();

	D3DObj* GetD3DObj() {return m_D3D;}
	ID3D10Device* GetD3DDevice() {return m_D3D->GetDevice();}


private:
	Graphics();
	bool Render();

	friend class Singleton<Graphics> ;

private:
	D3DObj* m_D3D;
};

typedef Singleton<Graphics> TheGraphics;

#endif
